package com.lancoo.cvas.pojo.vo;

import com.lancoo.cvas.entity.ClassInfo;
import com.lancoo.cvas.entity.TeachingClass;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel("classDto")
public class ClassDto {
    /**
     * 对应教学班id
     */
    @ApiModelProperty("对应教学班id")
    public Long teachingClassId;


    /**
     * 课程id
     */
    @ApiModelProperty("课程id")
    public Long courseId;

    /**
     * 课程名称
     */
    @ApiModelProperty("课程名称")
    public String courseName;

    /**
     * 对应教师id
     */
    @ApiModelProperty("对应教师id")
    public Integer teachingId;


    /**
     * 课程类型id
     */
    @ApiModelProperty("课程类型id")
    public String courseTypeId;


    /**
     * 课程类型
     */
    @ApiModelProperty("课程类型")
    public String courseType;


    /**
     * 课程性质
     */
    @ApiModelProperty("课程性质")
    public Integer courseNature;


    /**
     * 专业类型
     */
    @ApiModelProperty("专业类型")
    public String majorType;

    /**
     * 是否需要选课
     */
    @ApiModelProperty("是否需要选课")
    public Integer isChooseCourse;


    /**
     * 总人数
     */
    @ApiModelProperty("总人数")
    public Integer studentCount;

    /**
     * 行政班数量
     */
    @ApiModelProperty("行政班数量")
    public Long classNum;

    /**
     * 教学班数量
     */
    @ApiModelProperty("教学班数量")
    public Long teachingClassNum;


    /**
     * 已选人数
     */
    @ApiModelProperty("已选人数")
    public Integer selectedNum;


    /**
     * 学分
     */
    @ApiModelProperty("学分")
    public Double credit;


    /**
     * 教师id使用、隔开
     */
    @ApiModelProperty("教师id使用、隔开")
    public String teacherId;


    /**
     * 教师名称
     */
    @ApiModelProperty("教师名称")
    public String teacherName;


    @ApiModelProperty("行政班id")
    public List<Long> classIds;

    @ApiModelProperty("教学班id")
    public List<Long> teachingClassIds;


    /**
     * 行政班数量
     */
    public List<ClassInfo> classInfoList;

    /**
     * 教学班数量
     */
    public List<TeachingClass> teachingClassList;


    /**
     * 状态 0 未启用 1 已启用
     */
    @ApiModelProperty("状态 0 未启用 1 已启用")
    public Integer isEnable;


    /**
     * 状态 0 课程 1 环节
     */
    @ApiModelProperty("状态 0 课程 1 环节")
    public Integer flag;


    /**
     * 状态 0 课程 1 环节
     */
    @ApiModelProperty("状态 0 未完成 1 已完成")
    public Integer state;

    @ApiModelProperty("教学班设置")
    /**
     * 课程相关参数
     */
    public List<WeekDto> weekDtoList;
}
